/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package estsapp.controladores.ConsultarCostosVariables;

import estsapp.controladores.Controlador;
import estsapp.controladores.ControladorPrincipal;
import estsapp.controladores.FabricaControladores;
import estsapp.expertos.ExpertoCostosYProductoStandar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JInternalFrame;

/**
 *
 * @author Juan
 */
public class ControladorConsultarCostosVariables implements Controlador {

    PantallaConsultarCostosVariables pantalla;
    ExpertoCostosYProductoStandar experto;
    ModeloTablaCostosVariables modeloTablaCostoVariable;
    boolean iniciado;

    public ControladorConsultarCostosVariables() {
        pantalla = new PantallaConsultarCostosVariables();
        experto = new ExpertoCostosYProductoStandar();
        modeloTablaCostoVariable = new ModeloTablaCostosVariables();
        pantalla.getTablaCostosVariables().setModel(modeloTablaCostoVariable);
        ((ModeloTablaCostosVariables) pantalla.getTablaCostosVariables().getModel()).setListaElementos(experto.calcularCostoVariable());

        pantalla.getBtnSalir().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                salir();
            }
        });
        pantalla.getBtnActualizar().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                ((ModeloTablaCostosVariables) pantalla.getTablaCostosVariables().getModel()).setListaElementos(experto.calcularCostoVariable());

            }
        });



    }

    private void salir() {
        pantalla.setVisible(false);
    }

    @Override
    public JInternalFrame getPantalla() {
        return pantalla;
    }

    @Override
    public void iniciar() {
        if (!iniciado) {
            ((ControladorPrincipal) FabricaControladores.getInstance().getControlador(FabricaControladores.controladoresNombre.PRINCIPAL)).agregarPantallaInterna(pantalla);
            iniciado = true;
        } else {
            pantalla.toFront();
            pantalla.setVisible(true);
        }

        ((ModeloTablaCostosVariables) pantalla.getTablaCostosVariables().getModel()).setListaElementos(experto.calcularCostoVariable());
    }
}
